home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Libris Britannia 4
/
science library(b).zip
/
science library(b)
/
COMMUNIC
/
BULLETIN
/
0340A.ZIP
/
ODOC_000.ARC
/
REF_EVNT.DOC
< prev
next >
Wrap
Text File
|
1986-11-16
|
14KB
|
348 lines
OPUS
(c) Copyright 1986, Wynn Wagner III, All Rights Reserved
26 October 1986
EVENTS
The Things That Go Bump In The Night
WHAT EVENTS ARE
------------------------------------------------------------------------------
There are current two types of events:
* YELL ... During a YELL event, your computer will get
noisy when a user selects Y)ell from the main
menu. Outside a yell event, the user will be
sent the contents of the file YELL.BBS ... which
usually explains that you have the bell turned
off (although some of the embedded commands
could prove effective here. <sly grin>)
* EXTERNAL ... When Opus hits an external event, it exits the
program. You always have a CODE ("ErrorLevel")
associated with an external event. Opus sets the
DOS ERRORLEVEL to this value before it terminates.
A batch file can detect this value and do whatever
external processing you want. (See your DOS manual
for more information about ERRORLEVEL and batch
files.)
"But," you say, "what about the matrix?" Currently Opus does not
know how to place an outgoing phone call. Mail/Network/Matrix
events are treated as though they were external events. For
example, if you have a schedule file built for some other<tm>
system, it may contain a mail event C. Opus would treat Event C
as an external event, and set the ErrorLevel to 67 when it
terminates. The value 67 is the ASCII value of the letter C.
For more information about ASCII values, find an "ASCII Chart" ...
located in the appendix of every microcomputer book ever printed.
Version Zero of Opus does not place outgoing network calls. That
will come in version one. Stay tuned, and watch this space
for developments.
You can use SEAdog<tm> or Fido<tm> or some other program that
can make outgoing calls on IFNA<tm>-type networks like
Fido<tm>Net<tm>.
TIME ZONE
------------------------------------------------------------------------------
Internally, Opus always works in Greenwich Mean Time. You are
rarely affected by this. In fact, you may not have even realized
it until now.
Your SCHED.BBS (or whatever name) file is probably in local time...
so you need to tell Opus how to convert.
Please find the item (below) that applies to you and put it
into your AUTOEXEC.BAT file.
EASTERN
----------------------------------------------
For standard time......... SET TZ=EST+05
For daylight time......... SET TZ=EDT+04
CENTRAL
----------------------------------------------
For standard time......... SET TZ=CST+06
For daylight time......... SET TZ=CDT+05
MOUNTAIN
----------------------------------------------
For standard time......... SET TZ=MST+07
For daylight time......... SET TZ=MDT+06
PACIFIC
----------------------------------------------
For standard time......... SET TZ=PST+08
For daylight time......... SET TZ=PDT+07
OTHER TIME ZONES
----------------------------------------------
Yukon standard time....... SET TZ=YST+09
Alaska standard time...... SET TZ=AST+10
Bering standard time...... SET TZ=BST+11
The `TZ' means `Time Zone'.
The first three characters are the initials used the time zone
The final three characters represent the deviation from universal
time (Greenwich Mean Time).
The system defaults to CENTRAL STANDARD time with a deviation
of +06 hours from Universal time.
Ho-boy. You get all of that? There's a test next period.
THE OPUS EVENT MANAGER
------------------------------------------------------------------------------
You can have 35 events (numbered 0 to 34).
The sysop-only `6' command deals with events. If you have
sysop privs, just press `6' on the main menu. You'll
see this:
Opus Event Manager
L)ist
C)hange
Q)uit
Event: _
Type `L' to see a list of the current events or `C' to change
one of the events.
The list looks like this:
# Day ---Times--- TZone Duration Description
0 ... All 09:00-22:00 Local 780 min Yell, 20 sec. bell
1 ... All 09:00-10:00 GMT 60 min Mail route C
4 ... All 12:00-12:30 Local 30 min Mail route D, DISABLED
20 ... All 06:31-06:32 Local 1 min eXternal 210
Look at the times for events 0 and 1. Both begin at 9:00! But
event 0 is 9am LOCAL time; event 1 is 9am GREENWICH MEAN TIME.
Opus handles both absolute and relative times. The local event
will always happen at 9:00am. If our system were in Central
Standard time, event #1 would fire at 3:00am local time. When
we switch to Central Daylight, the event happens at 4:00am local
time.
To change an event, type C. You'll be asked for a slot number.
On the list (above) the slot numbers are on the far left of
each line. You have 35 slots ... numbered 0 to 34.
After you pick a slot, you'll see something like this:
S)tatus......................... Enabled
K)ind........................... Mail route D
D)ay............................ All
T)ime (start)................... 12:00
Z)one........................... Local
L)ength......................... 30
A)nother slot
Q)uit
Change: _
If the event happens to be a yell event, you'll also see this:
B)ell duration.................. 30
If it's an eXternal event, here's an addition line for the menu:
E)xit code...................... 210
STATUS can be Enabled or Disabled. Press S to flip between
the two.
KIND is a letter from A to Z. A few letters have special
meaning to Opus:
X... external event
Y... yell event
Z... RESERVED, don't use this one
Two of the network events usually have a special
meaning. These are the conventional meanings of
A and C:
A... direct mail, for those with no host
C... the National Mail Hour
DAY is the day-of-the-week for an event.
NOTE: Version 0 of Opus only supports ALL.
TIME is the hour/minute when the event is supposed to
begin. Use a 24-hour clock, like this:
00:00 ... midnight
3:00 ... 3am
12:00 ... noon
18:00 ... 6pm
By the way, the so-called "National Mail Hour" for
IFNA<tm>-type networks such as Fido<tm>Net<tm>
is 9:00 Greenwich Mean Time.
ZONE is either LOCAL or GMT. This is explained in
agonizing detail in an earlier part of this pamphlet.
NOTE: Zone is an Opus extension. Other<tm> systems
do not know about GMT.
LENGTH is the number of minutes for an event. Currently,
the shortest event is 1 minute.
BELL on yell events is the number of seconds you want your
computer to make a racket when somebody presses Y on
the main menu. The shortest possible bell duration
is 5 seconds. The longest is 255 seconds.
EXIT is the value for Opus to use when it shuts itself down
on an eXternal event. You can check this exit code
value using the DOS ERRORLEVEL. See your DOS manual's
section on batch files for information on ErrorLevel.
ANOTHER is a menu command to change from one slot to another.
QUIT is a menu command that lets you leave the change section.
BY THE WAY
------------------------------------------------------------------------------
NOTE #1
There's something that may be totally obvious to you. But
it's something that took me some time to realize ... so I'll
use up some of your paper (or disk space) to state it
plainly.
Here it is: an event KIND can appear in more than one SLOT.
You probably knew that and will laugh to hear that I didn't
know it for a long time.
If you use Y (the yell event) as event #1, you haven't "used
up" your yell event for the day. (stop snickering)
You can have event #1 enable yell during the morning hours,
for example. Then have no yell event for the afternoon.
During the evening, you could have another yell event ...
say, event #12, that enables yell again for a few hours.
NOTE #2
If you are converting from some other<tm> system, you may
notice debris for some Opus-only items. The most notable is
the Yell Bell duration figure. The longest time for the
bell is 255 seconds regardless of what the screen might say.
If Opus detects some outlandish value for the bell duration,
it will set the duration to 30 seconds.
INSIDE OPUS: STRUCTURES
------------------------------------------------------------------------------
Version Zero of Opus tries to be compatible with support files
currently being used by other<tm> systems. There is no claim
that Opus will continue this compatibility forever and ever.
This section is technical. It doesn't deal with the way events
are handled. Instead, it's for those afflicted with a desire
to know how the schedule file is stored on disk.
/*---------------------------------------------------*/
/* PRELIMINARIES */
/* Definitions, etc */
/*---------------------------------------------------*/
#define begin {
#define end }
typedef unsigned char byte;
typedef unsigned int word;
/*---------------------------------------------------*/
/* _TIME structure used by Fido<tm> version 11 */
/* `daywk': 0=Sun 1=Mon ... 6=Sat 7=ALL */
/*---------------------------------------------------*/
typedef struct
begin
word year, month, day;
word daywk;
word hour,mins,sec;
end _time;
/*---------------------------------------------------*/
/* SCHED */
/* A schedule file (eg.SCHED.BBS) is simply an array */
/* of 35 of these structures. */
/*---------------------------------------------------*/
struct _sched
begin
_time time;
word len; /* Duration of event in min. */
word enable; /* 1=used, 0=disabled */
word trigger; /* Beats me, ask Tom Jennings */
word result; /* X errorlevel; OPUS:Yellbell */
byte tag; /* The event kind (A to Z) */
byte junk_1; /* To word-align Fido<tm> rec */
word a,b,c,d; /* OPUS: Reserved */
byte junk_2; /* OPUS: Reserved */
byte GMT; /* OPUS: Set=GMT, Clear=local */
end;
###